
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Grebok.Common;
using Grebok.Common.Configuration;

namespace JieBooLaw.Persistence.Test.DataManager
{
    public class TInfoRelease_InfoManager : BaseManager
    {
        #region private field

        private static TInfoRelease_InfoManager manager;
        #endregion

        #region Properties
        
        public Int32? InfoID
        {
            get { return GetConfig<Int32?>("InfoID"); }
            set { SetConfig<Int32?>("InfoID", value); }
        }
        
        public Int32? ItemID
        {
            get { return GetConfig<Int32?>("ItemID"); }
            set { SetConfig<Int32?>("ItemID", value); }
        }
        
        public String InfoIcon
        {
            get { return GetConfig<String>("InfoIcon"); }
            set { SetConfig<String>("InfoIcon", value); }
        }
        
        public String InfoTitle
        {
            get { return GetConfig<String>("InfoTitle"); }
            set { SetConfig<String>("InfoTitle", value); }
        }
        
        public String InfoBody
        {
            get { return GetConfig<String>("InfoBody"); }
            set { SetConfig<String>("InfoBody", value); }
        }
        
        public String InfoAuthor
        {
            get { return GetConfig<String>("InfoAuthor"); }
            set { SetConfig<String>("InfoAuthor", value); }
        }
        
        public String InfoOrigin
        {
            get { return GetConfig<String>("InfoOrigin"); }
            set { SetConfig<String>("InfoOrigin", value); }
        }
        
        public String InfoKeyword
        {
            get { return GetConfig<String>("InfoKeyword"); }
            set { SetConfig<String>("InfoKeyword", value); }
        }
        
        public Int32? Creator
        {
            get { return GetConfig<Int32?>("Creator"); }
            set { SetConfig<Int32?>("Creator", value); }
        }
        
        public DateTime? CreatedDate
        {
            get { return GetConfig<DateTime?>("CreatedDate"); }
            set { SetConfig<DateTime?>("CreatedDate", value); }
        }
        
        public Int32? Modifier
        {
            get { return GetConfig<Int32?>("Modifier"); }
            set { SetConfig<Int32?>("Modifier", value); }
        }
        
        public DateTime? ModifiedDate
        {
            get { return GetConfig<DateTime?>("ModifiedDate"); }
            set { SetConfig<DateTime?>("ModifiedDate", value); }
        }
        

        #endregion

        #region Constructor

        /// <summary>
        /// TInfoRelease_InfoManager
        /// </summary>
        private TInfoRelease_InfoManager()
        {
            IApplicationConfiguration configuration = ApplicationConfigurationFactor.CreateApplicationConfiguration();
            appPropertiese = new ApplicationProperties(configuration[PropertiesConst.TINFORELEASE_INFO_PROPERTIES_FILE_NAME_KEY],
                configuration[PropertiesConst.TINFORELEASE_INFO_PROPERTIES_SECTION_NAME_KEY]);

            appPropertieseValues = new Dictionary<string, object>();
        }
        #endregion

        #region TInfoRelease_InfoManager Instance

        /// <summary>
        /// TInfoRelease_InfoManager's Instance
        /// </summary>
        public static TInfoRelease_InfoManager Instance
        {
            get
            {
                if (manager == null)
                {
                    manager = new TInfoRelease_InfoManager();
                }
                return manager;
            }
        }
        #endregion

    }
}
